iT邦幫忙

2022 iThome 鐵人賽

DAY 27
1
Modern Web

Have fun! 新手也能打造的Javascript微型專案系列 第 27

Have fun! 新手也能打造的Javascript微型專案! Day27: 想要與朋友分享你的專案嗎? 一起來透過Railway部署你的作品吧!(Heroku alternative)

  • 分享至 

  • xImage
  •  
tags: ItIron2022 Javascript

前言

專案的部署一直都是一個很熱門的話題,小至個人專案大至實務產品都逃不過這一關,一直以來大家相當愛用的Heroku在最近傳出將在近期終止對於免費專案的支援,因次許多開發者也不斷提出一些替代的方案,今天將會介紹其中一個替代方案-Railway!

什麼是Railway?

Railway是眾多網站託管平台之一,支援許多現代網頁框架的部署以及一些serverless function,部署靜態網頁自不用說,也可以讓你整合許多雲端服務讓你的應用程式順利的部署運行,在最近開了一些新功能給free tier的使用者,提供的記憶體容量與流量足以支撐一些規模較小的side project使用,是我最近發現的一個不錯的Heroku替代品(之前多半用netlify & vercel)。

Getting started

Step1: 帳號申辦

首先你自然需要到該平台申辦屬於你自己的帳號,請你先到railway官方網站進行註冊,這邊我會建議你透過github帳號註冊,這麼一來要導入專案會再更方便一些!

申辦完帳號後你應該會在右上角看到你的使用者頭像以及目前的使用情況。

Railway提供了每月500hrs或是5美元額度的使用量,兩者間有任何一個先達到上限就會暫時停止服務,你可以在平台中更近一步的觀察目前使用的情況並可以選擇終止一些不必要的服務。

Step2: 專案部署

接著就是到專案的部署部分囉,首先你需要先將你的專案推上github/gitlab或是任何遠端的專案管理平台當然也可以選擇從本地的專案部署,但這篇文章並不會帶到,可以詳見官方文章對於 developing locally的說明。

接著請你到Railway的平台進入Dashboard的部分,並點選New Project的按鈕

你會看到這樣的選單,請你選擇Deploy from GitHub repo

但由於我們還沒有從github匯入任何的專案,這邊我們需要先選擇Configure GitHub App

由於是第三方的服務,這個部分Railway需要先取得一些你在github上的權限,你需要先進行登入才會看到這個畫面,接著你需要選擇是否要讓Railway存取你所有的專案,我一般來說都僅會允許一些我需要發布的專案

選擇完後並按下Save就會回到Railway的畫面,此時你應該可以看到你剛剛給予存取權限的專案名稱出現在清單中,我這邊就用demo-for-railway這個專案來做說明,它是一個極為簡陋的express server,僅供示範用!

按下後你應該會看到這樣的畫面,點選Deploy Now就完成囉!

點選後頁面會跳轉到剛部署的專案畫面,畫面中有幾項資訊你可以注意

在同一個專案中你可以部署複數個repo,很適合整合許多微服務的使用,這次的範例中我們僅單單需要一個express server,就先不用額外增加其他的service囉!

當部署完成後請你點選右側的Settings Tab,我們接著需要將整個專案公開到某個domain上,這麼一來就可以分享給其他的使用者使用!請你點選Generate Domain的按鈕,Railway會隨機替你產出一個遠端位置

第一次會需要一些時間,完成後你會看到一組產出的url,那就是你的應用程式在遠端的位置!

點選進去https://demo-for-railway-production.up.railway.app/ 做測試,一切正如同預期!一個簡單到不行的Hello World頁面!

這麼一來整個部署流程就完成了,相當簡單,幾乎可以說是一鍵部署的等級了!像這樣的雲端託管平台最大的好處就是在於替你處理掉許多你困擾的流程,讓你可以專注在開發上,日後要重新部署也可以透過github在main/master分支上的改動來觸發重新部署!替人省了不少時間!

總結

我們今天利用了Railway快速部署了一個簡單的小專案,基本上絕大多數的前端/全端專案都可以靠類似的平台去部署,常見的其他選擇還有netlify, vercel之類的,有興趣都可以多方嘗試! 一個整合好CI/CD的專案真的會讓你開發起來更有效率!

轉職Q & A

Danny,我進了公司發現公司環境、團隊都跟我想像的不一樣,我應該待滿多久離開才適合啊?

首先,不管怎麼樣你都需要更多的資訊,當你確認真的這團隊不適合你(慣老闆、老屁股同事、薪資不符預期之類),你確實可以思考下一步該怎麼處裡。不過就像我說的,這種人生大事我不會給你直接的建議,我自己背的東西都快背不動了www 但有一點我可以講一下我個人的想法,我並不覺得你需要待滿多久再離開,我大概可以理解為什麼會有這樣的考量,就是怕之後履歷被人問到不好回答、感覺不穩定等,不過我認為只要你有一個合理的解釋,那你要在履歷上放什麼我覺得都無所謂! 我自己第一份工程師工作也是只待三個月,但我有個完整的說詞去做說明,日後那段經歷也反倒替我加了一些分,這種東西給人的觀感你很難確定,因此你自己要準備好對應的說法。 你可能還是會覺得這樣待太短會很難看,但反過來說,若你一開始就知道這裡不適合自己,那你卻在裡面浪費半年、一年甚至更久的時間,那麼在面試官看來這樣會比較好嗎? 再次強調,你沒辦法確定別人的想法,自己要有一個清晰的概念去決定你的行為,不需要太在乎待的時間多久這種小事!

本文章同步發布於個人部落格,有興趣的朋友也可以來逛逛~!


上一篇
Have fun! 新手也能打造的Javascript微型專案! Day26: 基礎網頁自動化,利用Puppeteer替你做一些麻煩的操作!
下一篇
Have fun! 新手也能打造的Javascript微型專案! Day28: 總是在回答相同的問題嗎?那就做個Line bot替你自動回覆吧!(上)
系列文
Have fun! 新手也能打造的Javascript微型專案30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言